var bdup = function (option) {
    var $list = $(option.imgList);
    // 初始化Web Uploader
    option.auto = true;
    option.swf = '/static/webuploader-0.1.5/Uploader.swf';
    option.server = '/upload/image';
    option.accept = {
        title: 'Images',
        extensions: 'gif,jpg,jpeg,bmp,png',
    }

    var uploader = WebUploader.create(option);
    //获取文件上传文件列表
    //option.getFiles = function () {
    //    return uploader.getFiles();
    //}
    //获取服务器返回的信息
    option.getServerPathList = function () {
        var path = [];
        var files = uploader.getFiles();
        for (var i = 0; i < files.length; i++) {
            path.push(files[i].serverPath);
        }
        return path;
    }
    // 当有文件添加进来的时候
    uploader.on('fileQueued', function (file) {
        $list.empty();
        //其他图片移除
        var files = uploader.getFiles();
        for (var i = 0; i < files.length - 1; i++) {
            uploader.removeFile(files[i], true);
        }
        var $li = $(
                '<div id="' + Math.abs(file.__hash) + '" class="file-item thumbnail">' +
                '<img>' +
                '<div class="info">' + '<a href="javascript:;" id="remove' + Math.abs(file.__hash) + '"  class="icon-cancel panel-tool-a" style="text-decoration: none">&nbsp; </a>' + file.name + '</div>' +
                '</div>'
            ),
            $img = $li.find('img');
        // $list为容器jQuery实例
        $list.append($li);

        $li.find('#remove' + Math.abs(file.__hash)).click(function () {
            console.log($(this).attr("id").replace("remove", "#file"));
            $($(this).attr("id").replace("remove", "#file")).remove()
            $(this).parent().parent().remove();
        });


        // 创建缩略图
        // 如果为非图片文件，可以不用调用此方法。
        // thumbnailWidth x thumbnailHeight 为 100 x 100
        uploader.makeThumb(file, function (error, src) {
            if (error) {
                $img.replaceWith('<span>不能预览</span>');
                return;
            }
            $img.attr('src', src);
        }, 100, 100);
    });
    // 文件上传过程中创建进度条实时显示。
    uploader.on('uploadProgress', function (file, percentage) {
        var $li = $('#' + file.id),
            $percent = $li.find('.progress span');
        // 避免重复创建
        if (!$percent.length) {
            $percent = $('<p class="progress"><span></span></p>')
                .appendTo($li)
                .find('span');
        }
        $percent.css('width', percentage * 100 + '%');
    });

    // 文件上传成功，给item添加成功class, 用样式标记上传成功。
    uploader.on('uploadSuccess', function (file, response) {
        file.serverPath = response._raw;
        console.log(response);
        if (option.complete) {
            option.complete(file.name);
        }
        $('#' + Math.abs(file.__hash)).addClass('upload-state-done');
        // 添加文件表单
        if (option.hasOwnProperty("inputName")) {
            $(option.pick.id).parents("form").append('<input type="hidden" id="file' + Math.abs(file.__hash) + '" name="' + option.inputName + '" value="' + file.serverPath + '">')
        }
    });
    // 文件上传失败，显示上传出错。
    uploader.on('uploadError', function (file) {
        var $li = $('#' + Math.abs(file.__hash)),
            $error = $li.find('div.error');
        // 避免重复创建
        if (!$error.length) {
            $error = $('<div class="error"></div>').appendTo($li);
        }
        $error.text('上传失败');
    });
    // 完成上传完了，成功或者失败，先删除进度条。
    uploader.on('uploadComplete', function (file) {
        $('#' + Math.abs(file.__hash)).find('.progress').remove();
    });
}